package com.summer.filesync.model.manager;

import java.util.List;

/** 文件差异 */
public class FileDifference {
  private String filePath;
  private String version1;
  private String version2;
  private boolean identical;
  private long sizeDifference;
  private List<String> changes;
  private DifferenceType type;

  public enum DifferenceType {
    IDENTICAL,
    SIZE_ONLY,
    CONTENT_CHANGED,
    BINARY_DIFFERENT
  }

  public FileDifference(String filePath, String version1, String version2) {
    this.filePath = filePath;
    this.version1 = version1;
    this.version2 = version2;
  }

  // Getters and Setters
  public String getFilePath() {
    return filePath;
  }

  public void setFilePath(String filePath) {
    this.filePath = filePath;
  }

  public String getVersion1() {
    return version1;
  }

  public void setVersion1(String version1) {
    this.version1 = version1;
  }

  public String getVersion2() {
    return version2;
  }

  public void setVersion2(String version2) {
    this.version2 = version2;
  }

  public boolean isIdentical() {
    return identical;
  }

  public void setIdentical(boolean identical) {
    this.identical = identical;
  }

  public long getSizeDifference() {
    return sizeDifference;
  }

  public void setSizeDifference(long sizeDifference) {
    this.sizeDifference = sizeDifference;
  }

  public List<String> getChanges() {
    return changes;
  }

  public void setChanges(List<String> changes) {
    this.changes = changes;
  }

  public DifferenceType getType() {
    return type;
  }

  public void setType(DifferenceType type) {
    this.type = type;
  }
}
